A STB is a computerized device that processes digital information. A STB is commonly used to receive encoded/compressed digital signals from a signal source (e.g., cable provider's headend) and decodes/decompresses those signals, converting them into signals that a television (TV) connected to the STB can understand and display.
The STB may include a set top environment including an application under the control of a Multiple System Operator (MSO) that centralizes resource management. Applications may include, for example, interactive program guides, applications for displaying sports scores, home shopping etc. The MSO master application may handle resource conflicts and dictate to an underlying platform software how resource conflicts are to be resolved. If other applications desiring resource usage operate in the same application environment (e.g., Open Cable Application Platform (OCAP)) as the MSO master application, the application environment can include a mechanism whereby the underlying implementation can notify the MSO master application when resource contention occurs and allow the MSO master application to decide how the resource conflict should be resolved. However, if the MSO master application and the applications desiring resource usage operate in different application environments, resource contention cannot be resolved in either application environment directly. For example, the MSO master application may be developed in the ‘C’ programming language, using proprietary interfaces to the platform software. The applications desiring to use platform resources may be Java Xlets bound to services tuned by the platform, operating, for example, in the OCAP application environment. Thus, since the MSO master application and the applications desiring resource usage operate in different application environments, resource contention cannot be resolved in either application environment directly.
The STB platform may include applications written to control the platform and to interact with a user and the application environment. As discussed above, applications may include, for example, interactive program guides, applications for displaying sports scores, home shopping etc. Due to the variety of available STBs, an application written for a STB of a first vendor may not operate on a STB of another vendor without having to re-create the application. It is therefore desirable to provide a STB platform that allows for dissimilar application environments to work together without having to re-create applications for each unique application environment of a STB.